package comprasdiretas.beans;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import javax.ejb.EJB;
import javax.faces.context.FacesContext;
import javax.faces.model.SelectItem;

import comprasdiretas.ejb.SaldoElementoDespesaControllerLocal;
import comprasdiretas.entity.SaldoElementoEntity;

public class SaldoElementoDespesaBean {
	private String ano;
	private String elementoDespesa;
	private BigDecimal saldo;
	
	@EJB
	private SaldoElementoDespesaControllerLocal saldoElementoDespesa;
		
	public SaldoElementoDespesaBean(){
	}
	
	
		
	public String getAno() {
		return ano;
	}



	public void setAno(String ano) {
		this.ano = ano;
	}



	public String getElementoDespesa() {
		return elementoDespesa;
	}



	public void setElementoDespesa(String elementoDespesa) {
		this.elementoDespesa = elementoDespesa;
	}



	public BigDecimal getSaldo() {
		return saldo;
	}



	public void setSaldo(BigDecimal saldo) {
		this.saldo = saldo;
	}



	public List<SelectItem> getSaldosElementosDespesa(){
		List<SelectItem> saldosElementosDespesaSelectItem = new ArrayList<SelectItem>();
		List<SaldoElementoEntity> saldosElementoEntity = saldoElementoDespesa.listarSaldosElementosDespesa();
		for (SaldoElementoEntity saldoElementoEntity : saldosElementoEntity) {
			saldosElementosDespesaSelectItem.add(new SelectItem(saldoElementoEntity,saldoElementoEntity.getElementoDespesaAnoPK().getElementoDespesa()));
		}
		return saldosElementosDespesaSelectItem;
	}
	
	public List<SelectItem> getAnosSaldosElementosDespesa(){
		List<SelectItem> anosSaldosElementosDespesaSelectItem = new ArrayList<SelectItem>();
		List<String> anosSaldosElemento = saldoElementoDespesa.listarAnosSaldosElementosDespesa();
		for (String ano : anosSaldosElemento) {
			anosSaldosElementosDespesaSelectItem.add(new SelectItem(ano,ano));
		}
		return anosSaldosElementosDespesaSelectItem;
	}
	
	public List<SaldoElementoEntity> getResultadoConsultaElementosDespesa(){
		AnoConsultaSaldoElementoDespesaBean anoConsultaSaldoElementoDespesa = (AnoConsultaSaldoElementoDespesaBean)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("anoConsultaSaldoElementoDespesaBean");
		String ano;
		if (anoConsultaSaldoElementoDespesa!=null) {
			ano = anoConsultaSaldoElementoDespesa.getAno();	
		}else {
			ano = "";
		}
		
		List<SaldoElementoEntity> saldosElementosDespesa = saldoElementoDespesa.consultarSaldoElementoDespesa(ano);
		if (saldosElementosDespesa==null) {
			saldosElementosDespesa = new ArrayList<SaldoElementoEntity>();
		}
		return saldosElementosDespesa;
	}
	
	public String consultaSaldosElementosDespesa(){
		return "resultadoConsultaSaldosElementosDespesa";
	}
	
}
